You will need to use a different behaviour rather than tween, pathfinding or moveto will work, however proper collision avoidance is indeed a classic problem. I have previously used states such as IsChasing, IsBlocked. IsChasing would be when the enemy has line of sight and is not about to collide with another enemy, and it should move towards the player. IsBlocked is triggered by using raycasting to determine if a collision is about to happen and at what angle etc. Knowing that you can move the nearly colliding objects by math at an appropriate angle to avoid the collision and continue moving towards the player.
I would avoid using solid collisions as it causes the exact issue you see in that video.
Check out this video on Boids, it's not construct related but is good understanding: youtube.com/watch