Surface diffusion on energetically heterogeneous surfaces