Preheat the oven to 350 degrees F.
Use the extra butter to lightly grease two 9x13-inch baking dishes.
In a large bowl, add the chicken breasts, the salt, the black pepper, and 2 tablespoons of the olive oil and toss to combine.
In a large cast-iron skillet, add the seasoned chicken breasts and bake until they reach an internal temperature of 165 degrees F and the juices run clear, about 30 minutes.
Place the cast-iron skillet on a wire rack and let the chicken breasts cool.
Shred the cooled chicken breasts into bite-sized pieces.
In a large pot over medium-low heat, melt the remaining 2 tablespoons of the butter.
Add the chiles to the melted butter and cook until they are soft, about 4 minutes.
Add the garlic to the chiles and cook, about 1 minute.
Add the flour to the garlic-chile mixture and stir to combine, then cook, about 1 minute.
Add the chicken broth to the chile mixture and cook, while whisking, until the sauce has thickened, about 6 minutes.
Add the sour cream, 1/4 cup of the cilantro, the cumin, and the cayenne to the sauce and stir to combine.
In a blender, add the sauce and the tomatillos and purée until it is smooth.
Pour 1 cup of the purée in the bottom of each of the prepared baking dishes.
In a large skillet over medium heat, add the remaining olive oil and cook the tortillas, in batches, until they are soft, about 1 minute per side.
Add 1/4 cup of the shredded chicken, 1 tablespoon of the cheese, and 1 teaspoon of the diced onions to each of the warmed tortillas.
Tightly roll up each of the filled tortillas and place them, seam-side down, in the prepared baking dishes.
Cover the enchiladas with the remaining purée and sprinkle with the remaining cheese.
Bake the enchiladas until the top is lightly browned, about 25 minutes.
Garnish with the extra cilantro and the lime wedges and serve.