Is there a way to call different methods for each constant in an Enum?

```
public enum ShipType {
   SMALL,MEDIUM,LARGE,ENORMOUS,TETRIS;

   public int[][] getRegionOfShip(int[] startingPosition, Aligment aligment){
      //How do can I decide which function to call?
   }
   private int[][] getRegionOfSmallShip(int[] startingPosition){
      ...
   }
   private int[][] getRegionOfMediumShip(int[] startingPosition, Aligment aligment){
      ...
   }

   private int[][] getRegionOfLargeShip(int[] startingPosition, Aligment aligment){
      ...
   }

   private int[][] getRegionOfEnourmusShip(int[] startingPosition, Aligment aligment){
      ...
   }

   private int[][] getRegionOfTetrisShip(int[] startingPosition, Aligment aligment){
      ...
   }
}

```

When I create the Enum like this:

```
ShipType shipType = ShipType.SMALL;

```

And I call it:

```
shipType.getRegionOfShip(startingPosition,aligment);

```

How can I make it, to call the 

```
private int[][] getRegionOfSmallShip(int[] startingPosition)

```

method? 
Something like checking which Constant is called inside the Enum class