Heat the olive oil in a large Dutch oven over medium-high heat. Add the ground beef and cook for 7 to 8 minutes, breaking it into bite-sized crumbles. Allow the beef to brown well before stirring so flavorful browned bits develop on the bottom of the pot. Drain excess grease, leaving about 1 tablespoon in the pot.
Add the onion and bell pepper. Cook for 5 to 6 minutes, stirring occasionally, until softened. Stir in the garlic and cook for 30 seconds.
Stir in the tomato paste, chili powder, cumin, smoked paprika, oregano, onion powder, garlic powder, and cayenne pepper, if using. Cook for 2 to 3 minutes, stirring constantly, until the tomato paste darkens slightly and the spices become fragrant.
Add the Worcestershire sauce and scrape the bottom of the pot to loosen all of the browned bits.
Stir in the enchilada sauce, fire-roasted tomatoes, diced tomatoes with green chiles, black beans, and pinto beans until everything is evenly coated.
Pour in the beef broth and season with the salt, black pepper, and brown sugar, if using. Bring the soup just to a boil, then immediately reduce the heat to a gentle simmer. Simmer uncovered for 20 minutes, stirring occasionally.
Stir in the frozen corn and continue simmering for another 10 minutes.
Place the softened cream cheese in a small bowl. Whisk in about 1 cup of the hot broth until completely smooth. Pour the mixture back into the soup and stir until fully incorporated.
Reduce the heat to low. Add the cheddar and Monterey Jack cheeses one handful at a time, stirring until each addition has completely melted before adding more. Do not allow the soup to boil once the cheese has been added.
Remove the soup from the heat. Stir in the fresh lime juice and chopped cilantro. Let the soup rest for 5 minutes, then taste and adjust the seasoning with additional salt, pepper, chili powder, or lime juice if desired.
Serve hot with your favorite toppings.