If using dry beans, cook them first: Place the beans in a medium pot and cover with a couple inches of hot water, about 2 quarts. Add 1 ½ teaspoons salt, 1 chopped garlic clove, and one bay leaf. Heat on high to bring to a simmer, cover, and reduce heat to very low to maintain a low simmer. Cook for 2 to 3 hours or until the beans are cooked through and tender. Drain.
In a large thick-bottomed pot, sauté onions in olive oil on medium high heat until tender, about 4 minutes. Add the garlic, cumin, cloves, and cayenne and cook a minute more. Add the green chiles and dried oregano. Add the minced jalapeño or serrano chile if using.
Add the chicken and chicken stock. Increase the heat to high, bring to a simmer, reduce the heat to low, cover and maintain the simmer for 20 minutes, until the chicken is cooked through.
Add the drained cooked beans and cook for 15 minutes more. Taste for seasonings and add more salt to taste.
Serve topped with grated cheese. Garnish with cilantro, chopped fresh tomato, salsa, chopped scallions, and/or guacamole. Serve with fresh warmed flour tortillas or tortilla chips.
