EnumPopup an enum from another class

Okay, I have a HexScript file, that contains an enum. Please note the enum is in the HexScript file, but not in the class itself:

using UnityEngine;
using System.Collections;
using System.Collections.Generic;
using System;
public enum TerrainTypes {Open, Water, Grass, Jungle,};

public class HexScript : MonoBehaviour {

....buncha HexScriptCode Here...

} //end HexScriptClass

I have been able to get it so I can select a TerrainType in the inspector, but I need to be able to do so in Editor mode. My best guess so far is something like this:

terrainType = (TerrainTypes)EditorGUILayout.EnumPopup(hex_A.GetComponent().SOMETHING_GOES_HERE);

BTW: I do have the HexScript in angle braces after GetComponent, you just can’t see it here.

However, I have been unable to get this to compile. How can I use the enumpopup to select my terrain? If I need to change the enum itself, I am willing to do so.

You have to have some variable that holds the value of the terrain in the HexScript Class.

public class HexScript: MonoBehaviour{
    public TerrainTypes myTerrain = TerrainTypes.Water;

    Foo(){
       if(myTerrain == TerrainTypes.Open){ //do something } 
       //or
       switch(myTarget.myTerrain){
           case TerrainTypes.Water:
              //do something
              break;
           case TerrainTypes.Open:
              //etc
       }
  }

Editor script:

public override void OnInspectorGUI()
{
    HexScript myTarget = (HexScript)target;
    myTarget.myTerrain= (TerrainTypes)EditorGUILayout.EnumPopup(new GUIContent("Terrain Type", "The type of terrain for this Hex"), myTarget.myTerrain);
}

Also on a stylistic note, Microsoft recommends that Enums be singular, so TerrainType instead of TerrainTypes, which makes more sense in code (ie. TerrainType.Water directly says the terrain type is water)