What I have done took like 4 months to make it work well, but it works.
Basically, I have a special object called “ItemAnimList”. This simply holds a list of animations for a certain weapon and skeleton. An example would be “pistolPlayer”, for pistols the player would use.
Now the item can simply run a function called "setAnim(‘aim’), and it finds the correct animation, and sets that as it’s current animation.
The anim blueprint then detects the change in animation, and switches it. Boom!