GL_RGB, GL_RGBA, GL_RGB8,..... what is what???

Maybe you think, this is a beginner question, but i am not so sure, because i am totally confused.

My OpenGL-header (version 1.3) declares these constants:

GL_RGB
GL_RGB4
GL_RGB5
GL_RGB8
GL_RGB10
GL_RGB12
GL_RGB16

GL_RGBA
GL_RGBA2
GL_RGBA4
GL_RGBA8
GL_RGBA12
GL_RGBA16

GL_RGB5_A1
GL_RGB10_A2

Ok, i know, that if i want 16 Bit textures, i use GL_RGB16 or GL_RGBA16. But what do i use for 32 Bit textures? If i use GL_RGBA4 it might mean "4 Bytes", but what does then GL_RGBA8 mean, maybe "8 Bits per component", but it could also mean "8 Bits for all 4 components". And what is GL_RGB? Is it 24 Bits? But GL_RGB8 could also be 24 Bits, but it could also be "8 Bit for all three".

AAAAAAAAAAAHHHHHHHHHHHHHH! I could go on like this for hours!

And i tell you something else: Every single constant is defined different! There is none, which is just another constant for the same number, NO THEY ARE ALL DIFFERENT!