ESL = English as a Second Language
EFL = English as a Foreign Language
TESL = Teaching English as a Second Language
TEFL = Teaching English as a Foreign Language
TESOL = Teachers of (or Teaching) English to Speakers of Other Languages
ESOL = English for Speakers of Other Languages
The differences are not that great, and in some cases regional - ESL is more used in the US and ESOL in the UK and, I think, Australia, though both refer to learning the language in a country where it is spoken, while EFL is used for learning it where it is not spoken. If you can teach one, you can teach the other IMO.