Tooth brush strand animation

So I am attempting to animate the correct use of an “end-tuft” brush for a freelance project, but I’m having trouble making the brush interact with the teeth correctly. Currently the brush simply intersects the teeth/gums which is obviously unrealistic. I would rather that the ends of brush strands somehow collide with the teeth and gums because the brush should clean out in between the individual teeth and gums.
How can I do this? Soft bodies? Shrinkwrap? Manual keyframing?
I do not necessarily need every single strand moving individually.

Let me know if I need to clarify. Any ideas are helpful.

Softbodies could work. You can also move them as a whole using a lattice as well.