You could do most of this in your GameInstance, you will need a variable to store the number of enemies you currently have remaining. In your enemy blueprint, upon death, you would have to GetGameInstance and cast to your instance, then simply call a similar event to the one in the image to handle logic and level ending.