Teem, abound, swarm, overflow can all mean to be plentifully supplied (with ) or to be rich (in ).
Though they are often interchangeable, each of these words may carry distinctive implications.
Teem implies productiveness or fecundity. It often suggests little more than crowding and activity.
Abound implies plenitude in numbers or amount; usually it stresses profusion. It is as often used with reference to qualities as to things.
Swarm in its relevant extended sense implies even more strongly than teem motion and thronging. It is also more capable of suggesting infestation.
Overflow in its extended sense adds to abound the implication of exceeding capacity. Sometimes it suggests glutting.