While it's not the easy solution you may look for, there exists an add-on called "Dynamic Parent", which allows coupling and decoupling to parents with the press of a button. Easiest to understand by looking at the forum with it's showcase/examples.
Dynamic Parent Add-on
It should be possible to use it for the animation you showed by using empties that either move the group of spheres or rotate them in a group, while you can transform the spheres along the way. The only thing different in your case is that you have multiple children and parents to switch, may need some organisation, otherwise it should be possible to work with. You need to connect each parent to each child (two objects) at a time. Maybe later versions of the add-on will allow more.
I made a little example, using 4 parents and 4 child objects.
Be aware though that you have to keep the order of what happens in mind, else it can easy become hard to fix. Save often in between the changes to be save.