Forum OpenACS Q&A: Response to trying to understand the acs_attributes table... what are sort_order, static_

I wouldn't recommend hacking up the core data-model, as it will just make upgrading a major hassle.

The acs_attributes mechanism already does what you want, so adding another table that duplicates acs_attribute_values serves no purpose.  The fact that the attribute values are stored as strings shouldn't present a problem, since the type information is stored in acs_attributes and 'text' types can be cast to any other type.

What kind of limitation are you seeing with the current setup?