Checkpoint that resets all spawns

I’d like to implement a checkpoint system that resets all enemies that are spawned (similar to how the level starts when you click Play). I’m trying to wrap my head around game instance, states, and modes, but am struggling and have been unable to find a way to do this without resetting the PIE or creating a list, within a SaveGame blueprint, and then going through and respawning all enemies. Is it possible to do this any other way?

How are you spawning them when the level starts?

I have a spawner actor that is present when the level begins. Once the player character reaches a certain proximity, enemies will begin spawning. As I write this out, it sounds like having a function that resets spawning, on the spawning actor, might also be a viable approach. What are your thoughts ClockworkOcean?