The way I have done it in the past is by having two enums in my weapon. One for damage type and the other for element type. That way, my all of my weapons have can be made off of one parent BP and just pass along the enums with the damage amounts to whatever is being attacked.