It would seem the enemy might be hitting himself. Prove it by also printing the hit.collider.name
Also, you should break that line up and use temporary variables, then pass them into Raycast() with named arguments. Here is why:
Use Physics.Raycast() always with named arguments because it contains many poorly-designed overloads:
Also, that line is so long I can’t tell if you’re passing in a LayerMask, which is one way that you can prevent the enemy from seeing himself in the first place.