Heat the olive oil in a large, deep skillet or dutch oven over medium.
Add the onions and saute for 2-3 minutes until they start to soften.
Add the ground beef and cook for 5-6 minutes until no longer pink, breaking up the beef with a spoon as it cooks.
Add the taco seasoning (or garlic powder, chili powder and cumin) to the pan, stir well and cook for an additional minute.
Add the enchilada sauce, broth and dry pasta and stir to combine. Cover the pan and bring to a boil.
Reduce to a simmer and cook for 15-20 minutes, stirring occasionally until the pasta is tender and has absorbed most of the cooking liquid. Different brands of pasta will have different cook times.
If adding sour cream, cream cheese or corn, stir in just before the last 2 minutes of cook time.
Remove the pan from the heat and stir in the cheese. Add in any optional mix ins.
Garnish as desired and serve.