Heat a nonstick 8-inch skillet over medium heat, for 2-3 minutes.
Meanwhile, in a medium bowl, vigorously whisk the egg whites with salt, pepper, and garlic powder, until frothy. Whisk in the parmesan.
Using a spatula, fold the green onions and tomatoes into the egg whites. You can also scatter the vegetables on top of the eggs after you pour them into the skillet, as shown in the video. But I prefer the method of stirring them into the eggs before you pour them into the skillet.
Lightly spray the skillet with olive oil spray, then pour the egg whites in and start cooking them, tilting the skillet to spread them evenly.
As soon as the edges start to set, reduce the heat to medium-low. Gently and repeatedly lift the edges of the omelet, and tilt the skillet to allow the still-runny egg whites to slide to the bottom of the pan, where they will cook faster. The video below shows you how to do that.
When the bottom of the omelet is cooked and the top is not runny anymore but is still wet, carefully flip the omelet. I sometimes use two large spatulas for this task. Another method, shown in the video below, is to place a large heatproof plate on top of the skillet (careful - it will be hot), invert the omelet into the plate, then slide it back into the pan, cooked side up.
After flipping the omelet, keep cooking it for just a few more seconds, then turn the heat off.
Fold the omelet, slide it onto a plate, and serve.
Video
Notes
Instead of parmesan, you can use a variety of other cheeses. I sometimes use shredded cheddar, for example, or crumbled feta. If using a cheese other than parmesan, you can use a little more of it - up to ¼ cup.
I like to incorporate the vegetables into the eggs rather than cook them separately and stuff the cooked eggs with the filling.
I also like to flip my omelet before folding it, to make sure it's thoroughly cooked on both sides.
Sometimes I reserve the parmesan for the end and sprinkle it on top of the fully cooked omelet. But more often than not, I just mix it into the raw egg whites.