In the current model, each ReleaseGroup has three properties: Release Switch, Release State (Data List 3), and Un-release State (Data List 4).
I propose that these two data lists be merged into a single data list, Release State, and that the Release Switch be removed from ReleaseGroups. The entries in the combined list will all be mutually exclusive, and, ideally, collectively exhaustive of the possible states. Since data lists are being implemented as database entities, we can add to each value (e.g. "Unofficially released", "In development") a flag for whether that state means the game has been released or not. This way, we won't be duplicating information (any release group with "Officially released" must have its Release Switch set to true, after all, or it's in an inconsistent state) and we won't have on each release group two properties only one of which can possibly be filled.
I propose that these two data lists be merged into a single data list, Release State, and that the Release Switch be removed from ReleaseGroups. The entries in the combined list will all be mutually exclusive, and, ideally, collectively exhaustive of the possible states. Since data lists are being implemented as database entities, we can add to each value (e.g. "Unofficially released", "In development") a flag for whether that state means the game has been released or not. This way, we won't be duplicating information (any release group with "Officially released" must have its Release Switch set to true, after all, or it's in an inconsistent state) and we won't have on each release group two properties only one of which can possibly be filled.