Preheat oven to 350°F.
In a medium saucepan, heat olive oil over medium heat. Whisk in the flour and chili powder, cooking for 1 minute until the mixture darkens.
Add sugar, cumin, garlic powder, onion powder, oregano, and salt. Whisk to combine, then whisk in tomato sauce and chicken broth.
Cook on medium-low for 10 minutes, stirring often, until the sauce thickens. Remove from heat and set aside.
In a large skillet, cook ground beef and diced onion over medium heat until browned. Drain excess fat, then stir in taco seasoning and water. Simmer for 2 minutes.
Divide the beef mixture evenly among the tortillas. Roll them up and place seam-side down in a 9x13-inch baking dish.
Pour enchilada sauce over the tortillas, then sprinkle shredded cheese on top.
Bake uncovered for 20-25 minutes, or until the cheese is fully melted.
Garnish with sliced green onion and serve with sour cream, if desired.