Preheat oven to 350F.
In a medium saucepan, heat the vegetable oil over medium heat. Whisk the flour and chili powder into the hot oil and cook for 1 minute, whisking often, until the mixture darkens in color.
Add the sugar, cumin, garlic powder, onion powder, oregano, and salt and whisk until combined. Next, whisk in the tomato sauce and chicken broth.
Cook the sauce on medium-low for 10 minutes until thickened, stirring often. Remove from the heat and set aside.
Crumble the ground beef into a large skillet, add the diced onion, and cook over medium heat until fully browned. Drain off any excess fat. Add the taco seasoning and ¼ cup water and simmer for 2 minutes, stirring often.
Scoop the seasoned meat into the center of the 8 tortillas. Roll the tortillas up and place them into a 9x13-inch baking dish.
Pour the enchilada sauce over top, then sprinkle the cheese over the sauce.
Bake the enchiladas uncovered at 350F until the cheese is fully melted.
Serve the enchiladas with sliced green onion and sour cream, if desired.