Highlight tiles on tilemap on mouseover

What is the best way to highlight a tile in a tilemap when the mouse moves over? What I did now is create an additiohal map on a higher sorting layer. Each update I draw the highlight tile at the mouseposition and store the position. The next frame I set the previous tile to null and activate the current position again. It works but does not seem the most efficient way. Is there a better way? Sample below:

void Update()
    {
        //set the previously highlighted tile back to null
        if(previousTileCoordinate != null)
        {
            highlightMap.SetTile(previousTileCoordinate, null);
        }

        TileBase highlightTile = gravelTile;

        //We need to highlight the tile on mousover. First get the curent position
        Vector3 mouseWorldPos = Camera.main.ScreenToWorldPoint(Input.mousePosition);
        Vector3Int tileCoordinate = highlightMap.WorldToCell(mouseWorldPos);
        //store the current position for the next frame
        previousTileCoordinate = tileCoordinate;
        //set the current tile to the highlighted version
        highlightMap.SetTile(tileCoordinate, highlightTile);
}

Just been 3 months programming in Unity, but I think you could do this more efficient like this:

 //This line outside the Update 
 TileBase highlightTile = gravelTile;
 
 
 void Update() { 
   	
     Vector3 mouseWorldPos = Camera.main.ScreenToWorldPoint(Input.mousePosition);
     Vector3Int tileCoordinate = highlightMap.WorldToCell(mouseWorldPos);
 
 	if(tileCoordinate != previousTileCoordinate ){
         highlightMap.SetTile(previousTileCoordinate, null);
 	    highlightMap.SetTile(tileCoordinate,highlightTile);
         previousTileCoordinate = tileCoordinate; 	
     }
 }

Just been 3 months programming in Unity, but I think you could do this more efficient like this:

` //This line outside the Update
TileBase highlightTile = gravelTile;

void Update()
{
Vector3 mouseWorldPos = Camera.main.ScreenToWorldPoint(Input.mousePosition);
Vector3Int tileCoordinate = highlightMap.WorldToCell(mouseWorldPos);

if(tileCoordinate != previousTileCoordinate ){
    highlightMap.SetTile(previousTileCoordinate, null);
    highlightMap.SetTile(tileCoordinate, highlightTile);
    previousTileCoordinate = tileCoordinate;
}

}`