lieben, gern haben, mögen

Difference between the German words lieben, gern haben und mögen