This is indeed the correct behaviour. An enumeration is nothing more than a list of String values where you can choose from. For a correct return value you can do the following in your first action that determines the value:
return String.valueOf(Enumeration.value);
In the other Java action you can get the value of this enumeration and use it like this:
Enumeration type = Enumeration.valueOf(JAVAaction.executeAction());
type will hold the value of the enumeration.
You can use this in I.E.
Switch (type){
case One:
// do something
break;
case Two:
// do something
break;
default:
// do nothing
break;
}