In a medium saucepan, heat the oil over medium-high heat. Add two-thirds of the onion and cook until softened, about 5 minutes. Stir in the flour and cook for 2 minutes. Whisk in 1 1/2 cups water and the tomato sauce, chili powder, cumin and salt; bring to a boil. Simmer for 5 minutes; set aside.
Preheat the broiler. In a large bowl, mix the chicken, two-thirds of the cheese and the chiles.
Spread 1 cup of the enchilada sauce in a large casserole dish. Dip 1 tortilla in the remaining sauce to coat both sides and transfer to a plate. Fill with chicken mixture, roll up and transfer to the casserole dish, seam side down. Repeat with the remaining tortillas and filling. Top with the remaining onion, sauce and cheese; broil until golden, 5 to 7 minutes. Turn off the broiler and leave the enchiladas in the oven until heated through, about 5 minutes.