Good job, guys!
Alex Y
Rob's answer, with the addition of the missing digit, "5", is correct. 349125.
Dan's whittling down of the possibilities was correct. It could be carried just a little further, but then you have to resort to trial and error.
GMA = 125, 216, or 512, and
NI = 36, 49, or 64
Note that GMA divides ENIGMA if and only if it divides ENI000.
The lowest multiple of 512 that is also a multiple of 1000 is 128000. Other possibilities are 256000, 384000, 512000, 640000, 768000, and 896000. In none of these are the second and third digits a perfect square (and most are disqualified for other reasons as well).
Similarly, the lowest multiple of 216 that is a multiple of 1000 is 027000. Checking all the multiples of that, only 864000 has 2nd and third digits equal to one of our target squares, but doesn't work because of the 6.
So GMA must be 125, and since 8*125 = 1,000, ANY choice for ENI will satisfy the condition that ENI125 is divisible by 125.
So now, we have to test E = 3,7,9 and NI = 36, 49, 64. Eliminate the two possibilities with shared digits and you are left with only seven possible values for ENIGMA to test.