Sure is a broad subject, you can approach this in many ways, really depends on how you intend to structure level data, how you read it and all that jazz. I do agree if you have many levels that changing just an hardcoded variable for each level would be a bit of a mess to maintain.
What I would do is to have a LevelManager class, this manager has the function to laod and unload what you need in the level, the manager also contains a collection of Level classes, how you populate those level classes is up to you, not sure how you actually prep levels, but it shoudl just contain info on what to content to load and where.
In your Game derived class then you coudl run Update and Draw based on the current Level selected in the LevelManager, then you can select a new level from your menu or wherever you want by just setting the LevelManager current Level to something else, is up to you how to deal with the checks if the level is currently loaded or not, but the concept of it is to have a hub to manage all your levels that you can call and change thigns in it instead of putting hardcoded variables all over your Game class.
Hope I was clear, I'm not the best explainer out there.