The __LPM_enhanced() is an assembler code that reads a word of data stored in a specified address(PROGMEM area).
The __LPM_word_enhanced() is defined in hardware/tools/avr/avr/include/avr/pgmspace.h as below.
#define __LPM_word_enhanced__(addr) \
(__extension__({ \
uint16_t __addr16 = (uint16_t)(addr); \
uint16_t __result; \
__asm__ \
( \
"lpm %A0, Z+" "\n\t" \
"lpm %B0, Z" "\n\t" \
: "=r" (__result), "=z" (__addr16) \
: "1" (__addr16) \
); \
__result; \
}))
The lpm, short for Load Program Memory, is a instruction that reads a byte of data from PROGMEM area. In this macro, the lpm instruction is called twice to get two bytes of data. It substitue a data at addr for __result, then returns the __result.