Store entire array in variable, then you can either use “For Each” to loop the code on each array element or if you single function node you plug array to “Target” pin and it will be executed on all array elements.
Here also hint, you can make C++ class of UUserWidget and create Blueprint (not Widget Blueprint) out it, when you do that blueprint actually will open as widget blueprint and will be based out of UUserWidget. This will help you with C++ to UI communication as now you can make BleuprintImplmentableEvent on that UUserWidget class which you can call in C++ and fire events in widget blueprint, you only need pointer to it and you can do this by initiating HUD in C++:
HUD = CreateWidget<UMyUserWidget>((), MyHUDClass, FName("HUD"));
if(HUD) HUD->AddToViewport();
HUD is property you declare in PlayerController for example, MyHUDClass is TSubclassOf<UMyUserWidget>
EditDefaultOnly property which contain class oh HUD that you will set in blueprint. Now you can make BlueprintReadWrite array in the your UUserWidget class and make enemies register themselves by adding themselves to that array