Use groups.
Make them deactivated by default and name them something like "Wave0", "Wave1", "Wave2", etc...
Then let's say we are in "Wave0" group (the group is activated) and the wave is finished and it's time to pick another one.
The conditions of the event depends how you want to set it (change after a certain amount of time, of mobs spawnt, etc...) but the actions will look something like :
system - group "Wave0" (the current group) deactivate
system - group "Wave" & int(random(NbMaxWave)) activate
Where NbMaxWave is a global variable that holds the highest number of wave you have programmed.
The expression will pick a random number between 0 and the max number of waves (for example 500) and concatenate it to form a string that is the name of the next group that will be activated. (From "Wave0" to "Wave25" for example).