Hello Phil!
To make things simple:
B and C versions where used before the war and during the Spanish civil war.
D version was used in the Spanish civil war and during the first month of war (poland and "Sitzkrieg").
E version was widely used in 1939, 1940 and 1941 ("Campagne de France", "Battle of Britain", "Barbarossa", "North africa" etc...)
F version followed and was used on the same locations in 1941, 1942 and 1943.
G version was used on various locations too but can be considered as an "home defense" fighter in 1943, 1944 and 1945.
K version was the last one and can also be considered as an "home defense fighter" in 1944 and 1945.
The other versions H - L- S - T - TL - Z where mainly projects or prototypes wich never saw operational use:
H was an High altitude fighter but the Ta 152H was prefered
L was an attempt to adapt a jumo engine to a Bf 109 F-1
S was a training version of the G (double cockpit)
T was a naval version of the E to be used on the Graf Zeppelin aircraft carrier wich was never build.
TL was some sort of Me 262 alternative
Z was two Me 109 put together to make a Twin motorized fighter
Of course V are the prototype designations.
As far as I know, the I and J letters where never used to designate German planes...
Hope this can help even if it's very "simplified"! Going into detail would take ages!
Jean-Luc