You can set the enemy var to an array, then from your enemy character make children of it. Now back on enemy var make editable. Drag off enemy and use GET(Copy),from the GET integer drag and type in random integer in range. Now drag off enemy again and get LENGTH and plug LENGTH into MAX on random INT in Range. This spawns a different enemy with in the arrays length.
I made a custom event ran by timer as seen SPAWNAI, the transform is just random points in Navigational Area (You need a Nav Mesh in Level)
Here is the timer I set and promoted Time and Loop to a Variable and made editable as well.
With these as variables we can set each spawn point to act different, some you may want to spawn once so uncheck (SpawnTimer?) Or you may want different times for spawn checks for different enemies so we can just change (SpawnRate).
Once you put the BP in world you will control over all these Vars and functions so we can now add enemies to our BP by ticking the + on Enemy Array Var from there you can choose what type of enemies you want to spawn.
Hope I helped not the best at explaining.