While it's often not a topic of discussion because EAP types are usually manually configured, supplicants and authentication servers can "negotiate" an EAP authentication protocol type.
In EAP, the initial portion of the frame exchange works like this:
EAPoL-Start (an optional frame that's almost always present) ..... Supplicant > Authenticator
EAPoL-Request/ID (The Authenticator requests the ID of the Supplicant) ..... Authenticator > Supplicant
EAPoL-Response/ID (The Supplicant sends either its real username or a bogus username) ..... Supplicant > Authenticator