In a medium sized skillet, melt 2 tablespoons butter over medium-high heat. Add onions and poblanos and cook until they start to brown, about 8 minutes. Transfer vegetables to bowl.
Add chicken breast pieces to pan and cook until pieces start to brown, about 8 minutes. The chicken will finish cooking in the chili, so it doesn’t need to be cooked all the way through. Remove from heat.
In a large sauce pan, melt remaining 6 tablespoons butter over low heat. Add flour and whisk constantly until a roux forms, about 3 minutes. Stir in onions and peppers. Gradually add chicken broth and half and half, continuing to whisk. Bring mixture to a boil, reduce heat, and simmer for 5 minutes, until mixture thickens.
Stir in Tabasco sauce, chili powder, ground cumin, salt, and pepper. Add beans and chicken. Cook over low heat for 15 minutes, stirring occasionally.
Stir in swiss and gruyere cheese. Taste and adjust seasonings. Serve with cilantro as garnish.