Preheat the oven to 350 degrees F.
Heat the oil over medium heat in a 5 or 6-quart Dutch oven. Dredge the meat in the flour, shaking off the excess. Working in batches (this is so the meat browns, rather than steams), add the beef and cook until browned all over, about 7 minutes. As you work, transfer the meat to a bowl.
Add the garlic, onions and bell peppers and stir to coat. Cook for 5 minutes, stirring frequently. Add 1/4 cup water and cook, stirring occasionally, until the onions are tender, about 7 minutes.
Stir in the coriander, cocoa powder, cumin, paprika and ancho chile powder. Return the meat to the pan and stir until well coated. Stir in 1 1/2 cups water, the pumpkin, tomato paste and salt. Bring to a boil. Cover and transfer to the oven. Bake until the meat is tender, 1 hour 30 minutes.
Stir in the beans, return to the oven, and bake for 10 more minutes.
The difference between a tender beef stew and a tough one has to do with the cut of meat. Although shopping for the beef can be a bit tricky, it doesn't have to be. Simply look for chuck, a cut that is well marbled, with veins of fat that melt during cooking and render the meat moist and tender. Don't be fooled into buying something called "stew meat," because you'll have no way of knowing what cut or cuts of beef you are buying. You also should stay away from cuts called "top round" or "bottom round" (even though many recipes call for it), because it is too lean to end up tender when it's cooked. For a variation on this stew: Once the stew is finished cooking, add enough broth to make it soupy. Stir in a 10-ounce package of frozen corn kernels and a couple of handfuls of toasted tortilla chips. Serve with hot sauce on the side. Another variation is to use pork shoulder instead of beef and black beans instead of pinto beans. Swap in a green bell pepper for the red and serve with lime wedges and chopped cilantro on the side.