is it possible to directly import an enum field in Python 3?

No. With import can only ever add references in the current namespace pointing to the module object itself, or to the top-level names in the module. Enum values are not top-level names in the module unless you explicitly put them there, like in your workaround.

You can automate assigning those names to globals, by adding all information from the __members__ attribute to your module globals:

globals().update(LineStyle.__members__)

The globals() function gives you a reference to the namespace of the current module, letting you add names to that namespace dynamically. The LineStyle.__members__ attribute is a a mapping of name to value (including aliases), so the above adds all names to the global namespace:

>>> from enum import Enum
>>> class LineStyle(Enum):
...     SOLID = 'solid'
...     DASHED = 'dashed'
...     DASHDOT = 'dashdot'
...     DOTTED = 'dotted'
...
>>> SOLID
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
NameError: name 'SOLID' is not defined
>>> globals().update(LineStyle.__members__)
>>> SOLID
<LineStyle.SOLID: 'solid'>

If you don't want aliases included in that, use a for loop, iterating over the LineStyle object. That only gives you the member objects, from which you can then pull the name:

for member in LineStyle:
    globals()[member.name] = member

You cannot directly import an enum member, but you can use a decorator to auto-add the Enum members to globals(), which would then be importable. For example:

def global(enum):
    globals().update(enum.__members__)
    return enum


@global
class LineStyle(Enum):
    SOLID = 'solid'
    DASHED = 'dashed'
    DASHDOT = 'dashdot'
    DOTTED = 'dotted'