Preheat oven to 350 degrees F. Add 2 Tbsp olive oil to a dutch oven (or ovenproof large pot) and heat over med-high.
Pat ribs dry with a paper towel and begin adding them to the pot in batches to sear (to brown). Only add one layer of ribs to the pot at a time so as not to overcrowd the pot. If using country style ribs cut in thirds horizontally ahead of searing. Brown all sides of the ribs until the edges form a golden brown crust. Once browned remove from pot and set aside
Once ribs are removed from pot, add 2 more Tbsp oil and the sliced onions. Saute onions over med-high heat for about 6 minutes or until caramelized but not burned.
Add garlic to onions and cook for 30 seconds. Add spices and salt and stir for a minute to toast spices.
Deglaze the pot with the enchilada sauce, scraping off any brown-bits that hav formed on the bottom of the pot.
Add back in the browned ribs to the pot, along with any juices that drained from the ribs. Add the thyme. Also add enough water to almost cover the ribs (about 2 cups)
Bring everything to a boil, cover, and transfer to the preheated oven. Cook for 3 hours. Check occasionally and add more water if ribs are starting to dry out.
Transfer to a serving dish or serve from the pot. Garnish with cilantro and lime wedges if desired. You can make this dish ahead of time and reheat over the stove before serving. The flavors continue to develop in the refrigerator.