A gear motor with an eccentric arm.
The tail motion would be same every time.
By changing the motor speed you can change the tail wagging speed.
A servo controlled from an RC receiver/transmitter.
The tail wags follow the joystick motion. To keep waging the tail keep moving the joystick back and forth.
A servo controlled from a Micro-controller (Audriuo, AVR, PIC, Axon, etc)
Pre-programed motions can be selected.
Lots of different tail wagging speeds, wag angles, etc can be done.