Is it possible to reassign the animation of an animator state programmatically?

Is it possible to reassign the animation of an animator state programmatically?
Imagine scenario - bunch of different enemy characters, that each have different animations (i.e. a wolf runs with a different animation than a goblin), but the states in the animator component are the same (i.e. run, attack).
Is it possible to somehow reassign the animation on the initialization of each type of enemy, to make managing animators easier?
Or if you have a better idea how to manage this gracefully - please share!

Yes, Unite 2015 - Leveraging Unity 5.2's Advanced Animation Features - YouTube

You could use playables

And, as mentioned in the video, you could even dynamically switch to a different animator controller, which can be programmatically assigned during the game, just like a normal variable.