Heat olive oil in a Dutch oven over medium heat until shimmering. Add diced onion and cook for 5-7 minutes until soft and translucent.
Add minced garlic and cook for 1-2 minutes, stirring constantly to prevent burning, until fragrant.
Pour in chicken broth and heavy cream. Add drained green chiles, cumin, oregano, cayenne pepper (if using), salt, and black pepper. Stir well to combine.
Increase heat and bring to a full boil. Once boiling, reduce heat to medium and maintain a gentle simmer.
Simmer uncovered for 40 minutes, stirring occasionally, until liquid reduces and thickens.
Reduce heat to low. Add cream cheese cubes and shredded Mexican cheese. Stir continuously for several minutes until completely melted and creamy.
Add shredded chicken one cup at a time, stirring after each addition. Adjust amount based on desired thickness.
Let simmer for 5 minutes to heat chicken through and allow flavors to meld. Taste and adjust seasoning as needed.
Serve hot with desired toppings such as avocado, sour cream, cilantro, lime wedges, extra cheese, jalapeƱos, or crushed pork rinds.