Omar,
I have a lot of table structures that are similar, I simply foreign key a field to a 'Type' table. i.e. I have a Comments table with a CommentTypeID field that is foreign keyed to the CommentType table, then in my business layer I create retrieve and proccess methods that use predefined predicates to pull only back the specific set of comment types in my lists.
If you need to pull back multiple types as different fields in a TypedList just create it in your business layer joining the same table with alias's skipping the designer, is what I do.
This works great, keeps my data normalized etc.
Hope that helps =)
John