The randomness comes with using choose. I think if for each location you set a choose() with the possible enemies it is not a lot of work if you know the choices already. Also under each location comes the size, it make sense to run an event for each location.
e.g. ...
if location=1, repeat 3 times, push choose(enemyA,enemyB) to back of array
if location=2, repeat 4 times, push choose(enemyA,enemyB,enemyC) to back of array