Thank you so much for that bit of knowledge. I actually tried that and it didn't accomplish what I was trying to do, though. It seems that while add_to_group did change the group of my hit box, for some reason the collision with the enemy produced the same result of the previous group it was in. Some other flaw in my code I am not seeing I guess!
Since posting this question I learned about using collision events to call a function in the body collided with and to assign variables as arguments that can be used in the other node's functions, thus eliminating the need for this wonky is_in_group business! So now I just have a damage level variable that changes with power ups and can easily be plugged in to my collisions as an argument.
As I'm writing this reply, it just dawned on me that perhaps the reason for this is that while my weapon's hitbox was added to the new group, it also remained in the old group since I didn't try remove_from_group yet. Thus the collision with the enemy would default to the first group since the engine would return that value first during the collision. Light bulb moment! Even though I already worked out a better way to accomplish my goal here, I may experiment with this purely for learning and understanding purposes!