IMHO, Instead of making multiple versions API (GL2, GL3, GL4, GLES, GLES2 and other), can use profiles - one API, many profiles. Like this:
GL_CONTEXT_GL2_HARDWARE_PROFILE_BIT_ARB - for DX9 hardware...