With either 8-direction or tile, you would compare the x and y of the enemy to the player and based on this side 'simulate control' toward the player. Because you're using 4-direction only it's not really clear what you want the movement focus to be on, if it should just run left across the screen and then down or down and meet the player y and then left towards the player, but you can order the logic so it chooses one direction first. That seems the most suitable for what you are trying to describe.
Pathfinding may also be suitable, you do enemy find path to player, on path found move along path and disable diagonal movement.
With the bullet behaviour you would use set enemy angle toward player but it would move at diagonals toward the player.