How to spawn the correct Blueprint from C++?

My game has no graphics. It’s all code for now, since I’m not an artist.

The Character has an array of equipped weapons. The PickupWeapon makes the corresponding weapon in the array “usable”.

The PickupWeapon class has an enumeration EWeaponType which has to be set to the weapon type the Pickup should correspond to. (e.g. RocketLauncher, Pistol, GrenadeLauncher…) —> this value is set in the BLUEPRINT CHILD CLASS.

Once the PickupWeapon is picked up by the player, the Character’s weapon is enabled in the array (depending on the WeaponType of the PickupWeapon).

When the player dies I want to spawn the PickupWeapon… but since the PickupWeapon has many Blueprint child classes… I need a way to detect the Blueprint child class that has the WeaponType corresponding to the currently-equipped weapontype.

I hope I made it clearer…