They are mimetic words. They're called 음성상징어, and can be further classified into two categories:
- 의성어 are words that reflect the sound of something (phonomimes / onomatopoeia):
후루룩 (the sound of slurping)
쨍그랑 (the sound of a metal dish falling)
- 의태어 are words that reflect the "shape" of something (for example it's movement or feeling) (phenomimes). Your examples (반짝반짝, 흔들흔들, 빙글빙글) all belong to this category. Some others:
성큼성큼 ("shape" of walking with large steps)
데굴데굴 (rolling "shape")
깡총깡총 (hopping "shape", especially rabbits)
More examples here. And a comedy program spoofing 의성어 words.
All these words are adverbs (부사), but usually these words can be used as verbs by "halving" them and adding the ending -거리다 (or sometimes -대다):
빙글거리다, 흔들거리다, 흔들대다