private void fillIndexed(Parameter parameter)
    {
        Class<?> clazz = parameter.getType();
        if (clazz.isEnum() && FixedValues.class.isAssignableFrom(clazz))
        {
            if (parameter.getGreed() != 1)
            {
                throw new IllegalArgumentException("Fixed Values can only have a greed of 1");
            }
            parameter.offer(Properties.PARSER, new FixedValueParser(parameter, (Class<? extends FixedValues>)clazz));

        }
        else
        {
            parameter.offer(Properties.PARSER, new IndexedParser(parameter));
        }
    }