You should define it inside a new header to prevent those circular references. But that wont fix the problem…
My enums usually also have the BlueprintReadOnly parameter for the UPROPERTY:
UPROPERTY(BlueprintReadOnly, EditAnywhere, Category = "Item Attachment")
TEnumAsByte<EHandSlot::Type> UsesHands;
maybe this helps, but i doubt it.