mouseenter vs mouseover vs mousemove

HTML

<div onmousemove="myMoveFunction()">
  <p>onmousemove:
    <br> <span id="demo">Mouse over me!</span></p>
</div>

<div onmouseenter="myEnterFunction()">
  <p>onmouseenter:
    <br> <span id="demo2">Mouse over me!</span></p>
</div>

<div onmouseover="myOverFunction()">
  <p>onmouseover:
    <br> <span id="demo3">Mouse over me!</span></p>
</div>

CSS

div {
  width: 200px;
  height: 100px;
  border: 1px solid black;
  margin: 10px;
  float: left;
  padding: 30px;
  text-align: center;
  background-color: lightgray;
}

p {
  background-color: white;
  height: 50px;
}

p span {
  background-color: #86fcd4;
  padding: 0 20px;
}

JavaScript

var x = 0;
var y = 0;
var z = 0;

function myMoveFunction() {
  document.getElementById("demo").innerHTML = z += 1;
}

function myEnterFunction() {
  document.getElementById("demo2").innerHTML = x += 1;
}

function myOverFunction() {
  document.getElementById("demo3").innerHTML = y += 1;
}