<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def prefix(self, sign: Optional[PrefixSign] = None, symbol: bool = False) -> str: """Get a random prefix for the International System of Units. :param sign: Sing of number. :param symbol: Return symbol of prefix. :return: Prefix for SI. :raises NonEnumerableError: if sign is not supported. :Example: mega """

        prefixes = SI_PREFIXES_SYM if \
            symbol else SI_PREFIXES

        key = self._validate_enum(item=sign, enum=PrefixSign)
        return self.random.choice(prefixes[key])