In a Dutch oven or large saucepan over medium-high heat, heat 2 tablespoons of the oil. Cook the onion, stirring occasionally, for 5 to 6 minutes, until softened and just starting to brown on the edges.
Add the poblano chiles, jalapeños, garlic, and cumin and cook, stirring, for another 5 minutes, until the chiles start to soften.
Add the tomatillos, salt, and 2 cups of water. Cover and simmer for 10 minutes, until the tomatillos have started to lose their shape.
Add the chicken, reduce the heat to medium-low, and simmer for 30 to 40 minutes, until the chicken easily shreds with a fork. Remove the pot from the heat and transfer the chicken to a cutting board. Shred or cut the chicken into small pieces and set aside.
Meanwhile, scrape the beans from the can into a small saucepan and heat over medium-low heat, stirring often, until heated through.
Add 2 cups of the cilantro to the pot with the tomatillo sauce. Using an immersion blender, blend the sauce until very smooth.
Assemble a workstation with the enchilada sauce, shredded chicken, shredded cheese, refried beans, and a baking dish large enough to hold the 12 enchiladas. Pour two-thirds of the sauce into the bottom of the baking dish.
Heat the oven to 350°F. In a small skillet over medium-high heat, heat the remaining 2 tablespoons of the oil. Once hot, cook a tortilla for 10 seconds on each side, until charred in spots and warmed through. Transfer the fried tortilla to a clean cutting board.
Schmear a heaping tablespoon of beans on each tortilla, top with some chicken and a small sprinkling of cheese, then roll up and place seam side down in the baking dish. Continue frying and assembling the tortillas, 3 at a time, until you’ve completed all 12.
Pour the remaining enchilada sauce over the enchiladas and top with the remaining cheese.
Bake the enchiladas for 25 minutes, until the cheese is melted and the enchiladas are hot all the way through. Serve with the sour cream and chopped cilantro.