I did a little more testing, and came up with a simple solution using a trigger:
CREATE TRIGGER [dbo].[BitTrigger]
ON [dbo].[Table2]
FOR INSERT, UPDATE
AS BEGIN
DECLARE @Result BIT
DECLARE @Flags INT
SELECT @Flags = Flags FROM inserted
SELECT @Result = CASE WHEN SUM([Value]) & @Flags = @Flags THEN 1 ELSE 0 END
FROM Table1
IF @Result = 0 BEGIN
RAISERROR ('This is not an acceptable combination of values.', 16, 1)
ROLLBACK TRANSACTION
END
END