Preheat the oven to 400. Cover the potatoes with water in a pot; season with salt, cover and boil until just tender, 2 minutes. Drain.
Whisk the egg yolks, cheese, flour, and pepper to taste in a bowl.
Heat a 10-inch ovenproof nonstick skillet over high heat. Add 2 tablespoons olive oil, the onion and chiles and cook until browned, 4 minutes. Add the ham and cook 3 minutes. Transfer the mixture to a bowl. Add the remaining 2 tablespoons oil and the potatoes to the skillet and cook until golden, 4 minutes. Add the paprika, parsley and garlic and cook 1 minute. Transfer to the same bowl.
Beat the egg whites, 2 tablespoons water and 1/2 teaspoon salt with a mixer until soft peaks form. Stir one-third of the whites into the yolk mixture, then gently fold in the rest. Oil the skillet, if dry, and place over medium-low heat. Add the egg mixture, cover and cook until the top just sets, 4 to 6 minutes. Top with the filling and transfer to the oven, uncovered, until set, 5 to 7 minutes.