Choosing a movement strategy based on the type of chess piece
The complexity of approach is too high, it can be reduced to the following:

PieceType pieceType = getPieceType();
contextMovement.setContext(pieceType.getMovement());
return contextMovement.executeMovement(from, to, board);


The PieceType enum (probably call it Piece?) can be extended with:

public enum Piece {

  PAWN() {
    @Override
    public Movement getMovement() { 
      return new PawnMovement();
    }
  }, ... // other elements;

  public abstract Movement getMovement();

}