Rinse and sort through the dried beans, removing any debris. Add beans to a large stock pot over high heat and pour in the water.
Bring to a boil, reduce to a simmer, and cover the pot.
Let cook for 1 hour and 30 minutes, stirring every 30 minutes.
When beans are tender, brown the beef, breaking it up as it cooks. Once the meat is broken up, add the onion and garlic and continue cooking and stirring until the beef is cooked through. Drain the fat from the beef.
Add the meat to the pot of beans, along with the taco seasoning, cumin, chili powder, diced tomatoes, enchilada sauce, green chiles, and salt. Stir well.
Cover and continue cooking on low for 45 minutes or until beans are fully cooked. To thicken the chili, continue simmering the chili with the lid off to cook down the liquid.
Serve with your favorite taco toppings, such as grated cheddar, avocado, sour cream, and tortilla chips.