JDK é a abreviatura de Java Development Kit, é o que você precisa para programar em Java.
O Java Standard Edition fornece as funcionalidades básicas do Java, com ele você pode implementar as lógicas de negócio e usar os conceitos de programação orientada a objetos, conectar à um banco de dados e até desenvolver telas para aplicações desktop.
O Java Enterprise Edition é baseado no Java Standard Edition mas possui bem mais API’s, mas basicamente você usa o mesmo JDK com algumas dependências a mais nos seus projetos. Geralmente você usa para aplicações grandes ou aplicações Web que ficam hospedadas em servidores. Então você pode usar praticamente tudo que o Standard Edition oferece mais outras tecnologias.
Java Micro Edition é um subconjunto do Java oferece algumas funcionalidades do Java Standard Edition, ele é focado para dispositivos móveis, algumas impressoras, TVs, pocket PCs.
Geralmente são aplicações que rodam em ambientes com pouca memória e são bastante limitadas.
Hoje em dia acho raro encontrar algo desenvolvido em J2ME.
Trabalhei bastante com ele de 2002 à 2007, antes do Android se tornar popular e antes dos smartphones terem preço acessível.
Para o J2ME você precisava baixar SDKs específicos para a plataforma a qual desejava desenvolver.
Já o Java EE, se você utiliza alguma IDE, geralmente já tem plugins prontos para criar projetos Java EE, que basicamente vão usar o seu JDK e incluir as dependências necessárias para um projeto Web.