Set your oven to broil on high. Move an oven rack to the second highest position in your oven. Using a paper towel or a sauce brush lightly oil the ears of corn with a neutral cooking oil. Set them directly on the oven rack directly below the broiler and check regularly. Once the top is browned / charred to your preference, rotate 1/4 turn until corn is roasted on all sides.
Set your Dutch oven over medium high heat then add a little olive oil to the pan. Once the oil starts to shimmer add your chicken thighs to the pot skin side down and allow them to brown but not burn.
While the chicken is browning, dice your yellow onion and your garlic.
Once the skin side of the chicken has browned, flip to the bone side and allow to brown as well. The goal is not to cook the chicken here, rather, it is to get good fond (caramelized chicken bits) on the bottom of the pot. Once properly browned on both sides, move the chicken thighs to a separate plate to rest. Leave about 1 Tbsp of fat / oil in the pot, drain the excess.
Set the heat on your Dutch oven or pot to medium heat and add the onion along with a pinch of salt. Using a wooden spatula scrape up the brown bits and allow the onion to deglaze the pot. Sweat the onion for 5-6 minutes. Do not overcook the onion, it should be brown from the fond and translucent, but not starting to caramelize.
Add the minced garlic to the pot and stir in for 1 minute.
Add the cumin to the pot and stir it in, 15-30 seconds just to toast it slightly and then pour in the chicken stock. Stir the ingredients through and allow to come up to the boil then reduce to a simmer.
Once simmering add the tomato sauce, enchilada sauce, black beans, and cayenne pepper to the pot. If your corn is adequately roasted, cut the kernels from the cobbs and add the corn kernels to the pot as well. Bring soup back to up to a simmer.
Once at a gentle simmer, add the chicken thighs back into the soup along with any accumulated juices from the resting plate. Simmer until chicken is cooked through (about 20-30 minutes).
This is a great time to make the guacamole while you wait!
Once the chicken is cooked through, remove it from the soup and pull the meat off of the bone so it cools faster. Reserve it in a small bowl until it is cool enough to handle so that you can shred it.
Add cream cheese to the soup and let it warm up for about 5 minutes while the broth simmers. Once it is warm and melty use a whisk to break it apart and incorporate it into the rest of the soup until smooth. The color of the broth will lighten considerably.
Shred the chicken using a pair of forks, your hands, or a handheld mixer (the kind with two mixer heads that spin in different directions). Add the chicken back to the soup to warm through.
Squeeze in the juice of ½ a lime then season with salt and pepper to taste.
Plate up your soup with any optional toppings and enjoy!