If enemy variations share the same SkeletonData (same Spine skeleton and project) and are just a matter of changing skins or swapping out attachments, you can pool a bunch of SkeletonAnimations and then just change their skin as needed when you obtain instances from the pool.
If you are pooling SkeletonAnimations, set skeletonAnimation.clearStateOnDisable
to true. This prevents previous animations and poses from persisting when you recycle instances from the pool.
Otherwise, pooling doesn't really help much. If you swap out a SkeletonAnimation's SkeletonData asset, it needs to reinitialize and orphan old objects and allocate memory for new ones.