Whisk the eggs together with a splash of cool water in a medium bowl until light and fluffy. Season with a pinch of salt. Set aside.
Add olive oil to lightly coat a medium nonstick pan over medium-high heat. Add the ham and cook until it begins to brown on all sides, about 4 minutes. Remove the ham from the pan and set aside. Add the mushrooms to the pan in an even layer; season with a pinch of salt. Cook until they begin to brown and wilt slightly, 2 to 3 minutes on each side. Remove the mushrooms from the pan. Wipe the pan down with a paper towel. Return the pan to medium heat and add olive oil to coat. Add the eggs and cook until just set, frequently moving the edges from the pan with a rubber spatula. Sprinkle with some of the fontina and Gruyere, then add the ham and mushrooms and another layer of the cheeses. Roll the omelet to the opposite side of the pan, tilting as you go and roll onto a plate. Garnish with chives. Serve!