Ah, now I understand what you are asking about.
ENFORM does not have exactly that. There is a way to test a portion of a character field using a pattern match in a logical expression:
field-name = [1 "tri" - ]
would be true if characters 2, 3, and 4 of field-name contained "tri" and false otherwise. Such an expression can appear in the WHERE clause, in the logical-expression of an IF/THEN/ELSE in the target item list or print item list, and maybe as a target item by itself, though I don't know for sure that is valid. This only allows for testing a substring of a field, not displaying it. For a complete description of a pattern, see chapter 3, section titled "Logical Expressions" of the Enform Plus Reference manual.
Another thing that ENFORM allows is to give a subscript ranch in a table reference:
field-name[2:4]
If field-name is the name of a field declared in the DDL as a table, something like:
03 field-name pic x occurs 20.
then
LIST field-name[2:4];
is equivalent to
LIST field-name[2], field-name[3], field-name[4];
The individual characters would be displayed with two spaces between each one, so that probably is not exactly what you would want. You could use @SPACE to set the horizontal spacing to 0:
SET @SPACE TO 0;
LIST field1, space 2, field2[2:4], space 2 field3;
Setting @SPACE to 0 makes the default spacing between columns be 0, and the explicit SPACE 2 between the other items makes the spacing betwwen them normal.
A 20-character field normally would be declared as:
03 field-name pic x(20).
You could use renames or redefines to overlay this with a declaration containing OCCURS and reference the alternate description of the field when you want to list a substring of the field. This is a bit awkward, of course.
So ENFORM does not have exactly what you ask about. You can get similar results, though not as simply as if substrings were included. SQL/MP snd SQL/MX have functions named SUBSTRING that allow the kind of references you are asking about almost as easily as the example you gave. But not in ENFORM.