Preheat oven to 350°. Spray a 9x13 pan with cooking spray and set aside.
Remove tails from shrimp then chop shrimp into bite-sized pieces.
Heat a large skillet to medium-high then add olive oil and onion. Cook for 5 minutes or until onions are soft and translucent. Add garlic and cook for 1 minute. Add diced tomatoes, cumin, chili powder, oregano, salt and pepper then stir to combine.
Add shrimp then cook for 2-3 minutes or until shrimp just start to turn pink. Remove from heat and set aside. (Shrimp will finish cookingin oven.)
In another large skillet, melt butter over medium-high heat. Add poblanos and sauté for 3-5 minutes or until softened.
Sprinkle peppers with flour and stir to combine. Slowly whisk in milk and stir for a couple of minutes or until slightly thickened. Stir in salt, salsa verde, lime juice, sour cream and cheese. Remove from heat when cheese is melted and mixture is creamy.
Add about 1/3 cup shrimp mixture down the center of a tortilla. Sprinkle with 2 tablespoons shredded cheese. Roll up and place seam side down in prepared pan. Continue with remaining tortillas and filling. Pour poblano cheese sauce down the middle of the enchiladas leaving ends of tortillas exposed.
Bake uncovered for 30-35 minutes. Remove from oven and sprinkle with cilantro.
Notes
Sometimes poblano peppers are labled as "pasilla peppers" in grocery stores. I think it depends on where you live. Just make sure they're fresh and not the dried version.