Preheat oven to 350°F. Bring a large pot of water to a boil and cook the jumbo shells according to package directions (do not overcook — they should still be firm enough to stuff). Drain and rinse with cool water. Set aside.
While the pasta cooks, dice the onion and garlic. Heat a large skillet over medium heat and cook the ground beef, onion, and garlic until the meat is browned and the onion is soft. Drain excess fat if needed.
In a small bowl, mix all the taco seasoning ingredients. Add the drained black beans and ranch-style beans to the meat mixture, then stir in the taco seasoning. Turn off the heat and set aside.
Make the enchilada sauce: In a saucepan, heat the vegetable oil over medium heat. Whisk in the flour and chili powder, cooking for 1 minute. Gradually whisk in the water, tomato paste, cumin, garlic powder, cayenne, and salt. Simmer for 5–7 minutes until slightly thickened.
Stuff each cooked shell generously with the meat and bean mixture. Arrange the stuffed shells in a large baking dish.
Pour the enchilada sauce evenly over the shells. Sprinkle the shredded cheddar cheese generously on top.
Bake for 15–20 minutes, or until the cheese is melted and bubbly.
Remove from the oven, garnish with sliced green onions, and serve hot.