Basically all you really need to know is if the player leaves the currently centered tile and which direction they went in right? Based on that information you can generate the next 5 tiles in whichever direction is required and unload the last 5 ones.
You could have a BaseTile Blueprint from which all tiles inherit. If you put a collisionbox in this blueprint it will show up on all tiles you generate and disappear as soon as those tiles are unloaded.
Then using EndOverlap event you can check if the player left the middle tile.