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 until cooked through and drain the fat. Add one packet of taco seasoning to the meat and stir to coat.
Add the meat to the pot of beans, along with the second packet of taco seasoning, diced tomatoes, enchilada sauce, green chiles, onion, garlic, and salt. Add the packet of Ham Flavoring from the bag of beans to the pot. Stir well.
Cover and continue cooking on low for 45 minutes.
Serve with your favorite taco toppings, such as grated cheddar, avocado, sour cream, and tortilla chips.
If you don't use beans with ham seasoning, you can substitute one teaspoon of cumin and one teaspoon of chili powder in its place.