You need to find a way to determine what exactly is 'last'. You could count them up on spawn for example. Or maybe they are spawned based on a variable, and you know how many there are. Then you can deduct from a counter each time one dies (e.g. the enemy sends a global event when it dies), and to determine the last one. You could register enemies on spawn in an array, and when one dies, check the list if there's still another enemy in there.
You could always move one waypoint object to the location of a deceased enemy, and each time, the waypoint checks if there is still an enemy and if there is none, does spawn the Thing.
Here's one other idea. On spawn, the enemies are parented into one game object. When the enemy dies, it runs get child count on the parent and if the number is 1 (just itself alive), then it knows it's last, and could then spawn something on its own location. After that, it unparents itself (or is destroyed or whatever, maybe deactivated objects are also not counted, but I'm not sure). You can also count tags, and when they die, change the tag.