FetchType and FetchMode. How do they work together?

Unfortunetally documentation doesn’t cover FetchType and FetchMode overlap completly. It is said that FetchType.LAZY and FetchMode.JOIN works as FetchType.EAGER.

But how do work all combinations?